언 피클 링 후 예측을로드하려고하는데이 오류가 발생합니다. /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/weight_boosting.py:29 : DeprecationWarning : numpy.core.umath_tests는 내부 NumPy 모듈입니다. 가져올 수 없습니다. 향후 NumPy에서 제거됩니다. 해제. numpy.core.umath_tests에서 inner1d 가져 오기 /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/base.py:311 : UserWarning : 추정기 DecisionTreeClassifier를 버전 0.19.2를 사용하는 경우 버전 0.20.2. 이것은 깨질 수 있습니다 코드 또는 잘못된 결과. 자신의 책임하에 사용하십시오. UserWarning) /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/base.py:311 : UserWarning : 추정기 RandomForestClassifier를 버전 0.19.2를 사용하는 경우 버전 0.20.2. 이것은 깨질 수 있습니다 코드 또는 잘못된 결과. 자신의 책임하에 사용하십시오. UserWarning) 역 추적 (최근 호출 마지막) : 파일 "rf_pred_model_tester.py", 7 행 print ( 'Class :', int (rf.predict (xx))) 파일 "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/forest.py" , 줄 538, 예측 proba = self.predict_proba (X) 파일 "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/forest.py", 581 행, predict_proba n_jobs, _, _ = _partition_estimators (self.n_estimators, self.n_jobs) 파일 "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/base.py", _partition_estimators의 153 행 n_jobs = min (_get_n_jobs (n_jobs), n_estimators) 파일 "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/utils/init.py", 라인 464, _get_n_jobs n_jobs <0 인 경우 : TypeError : 'NoneType'및 'int'인스턴스간에 '<'가 지원되지 않음 여기 내가 실행하려는 코드가 있습니다. 수입 피클 numpy를 np로 가져 오기 open ( 'rf_model_1', 'rb')를 f로 사용 : rf = pickle.load (f) xx = np.array ([67, 17832, 1, 1, 0, 33, 1941902452, 36, 33011.0, 19, 18, 0, 2, 1]). reshape (1, -1) print ( '클래스 :', int (rf.predict (xx))) 다음과 같은 결과를 기대하고 있습니다. 클래스 : [0] jupyter에서 코드를 실행하면 정상적으로 작동하지만 터미널에서 실행하려고 할 때 오류가 발생합니다.
2021-01-16 08:13:40
귀하의 오류는 직설적으로 설명합니다. UserWarning : 버전 0.19.2를 사용할 때 0.20.2 버전에서 추정기 RandomForestClassifier를 제거하려고합니다. 이로 인해 코드가 깨지거나 잘못된 결과가 발생할 수 있습니다. 자신의 책임하에 사용하십시오. 그리고 실제로 그것은 일어난 일입니다. 피클 링 할 때 RandomForestClassifier의 n_jobs 속성이 None으로 유지되었습니다. 이것은 초기화를위한 기본값이지만 배후에서는 일반적으로 1로 설정됩니다. n_jobs에 대한 자세한 내용은 https://scikit-learn.org/stable/glossary.html#term-n-jobs에서 찾을 수 있습니다. 당신을 위해 rf의 n_jobs를 1로 설정하면 트릭을 수행합니다. 수입 피클 numpy를 np로 가져 오기 open ( 'rf_model_1', 'rb')를 f로 사용 : rf = pickle.load (f) rf.n_jobs = 1 xx = np.array ([67, 17832, 1, 1, 0, 33, 1941902452, 36, 33011.0, 19, 18, 0, 2, 1]). reshape (1, -1) print ( '클래스 :', int (rf.predict (xx))) | 매우 적극적인 질문입니다. 이 질문에 답하기 위해 평판 10을 획득하십시오. 평판 요구 사항은 스팸 및 비 응답 활동으로부터이 질문을 보호하는 데 도움이됩니다. 찾고있는 답변이 아닙니까? python-3.x 태그가 지정된 다른 질문을 찾아 보거나 직접 질문하십시오.